package com.lpb.spring.lpbspring.ioc;

/**
 * @ClassName BeanDefinitionRegistry
 * @Description TODO
 * @date 2022/11/22 17:42
 * @Version 1.0
 * @authoe linpengbo
 */
public interface BeanDefinitionRegistry extends AliasRegistry {

    /**bean定义信息的注册
     * @param beanName
     * @param beanDefinition
     * @throws Exception
     */
    void registerBeanDefinition(String beanName,BeanDefinition beanDefinition)throws Exception;

    /**根据bean名称获取bean的定义信息
     * @param beanName
     * @return
     * @throws Exception
     */
    BeanDefinition getBeanDefinition(String beanName)throws Exception;


    /**bean的定义信息是否已存在
     * @param beanName
     * @return
     * @throws Exception
     */
    boolean containsBeanDefinition(String beanName)throws Exception;
}
